home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Columbia Kermit
/
kermit.zip
/
newsgroups
/
misc.19941031-19941221
/
000300_news@columbia.edu_Tue Nov 29 14:21:12 1994.msg
< prev
next >
Wrap
Internet Message Format
|
2020-01-01
|
10KB
Received: from apakabar.cc.columbia.edu by watsun.cc.columbia.edu with SMTP id AA27500
(5.65c+CU/IDA-1.4.4/HLK for <kermit.misc@watsun.cc.columbia.edu>); Tue, 29 Nov 1994 09:21:26 -0500
Received: by apakabar.cc.columbia.edu id AA16414
(5.65c+CU/IDA-1.4.4/HLK for kermit.misc@watsun); Tue, 29 Nov 1994 09:21:24 -0500
Path: news.columbia.edu!watsun.cc.columbia.edu!fdc
From: fdc@watsun.cc.columbia.edu (Frank da Cruz)
Newsgroups: comp.protocols.kermit.misc
Subject: Re: Optimizing speed using C-Kermit
Date: 29 Nov 1994 14:21:12 GMT
Organization: Columbia University
Lines: 180
Message-Id: <3bfdco$g07@apakabar.cc.columbia.edu>
References: <3belo7$aqc@nntp1.u.washington.edu>
Nntp-Posting-Host: watsun.cc.columbia.edu
Apparently-To: kermit.misc@watsun.cc.columbia.edu
In article <3belo7$aqc@nntp1.u.washington.edu>,
Brian Wirt <wirt@u.washington.edu> wrote:
>It's been quite a long time since I've had to use kermit to transfer
>files from a remote Unix machine to my home PC and vice-versa, but alas,
>the time is here yet again.
>
>My problem is that I can't remember exactly what options I used to
>optimize download speed. I seem to recall setting the packet length or
>something. If anyone can help me out I would appreciate it. I remember
>two or three things I used to type that would boost the speed from about
>200 CPS to 900 CPS on a 14.4k modem. Can anyone tell me how to obtain
>this speed or even better?
>
Reposting (and slightly updating):
Path: news.columbia.edu!usenet
From: fdc@fdc.cc.columbia.edu (Frank da Cruz)
Newsgroups: comp.protocols.kermit.misc
Subject: Re: [HELP] Slow Kermit Transfer ?!
Date: 19 Sep 1994 14:15:42 GMT
Organization: Columbia University
Lines: 153
Keywords: Kermit, Performance, Slow, Fast
In article <35jrgsINNdq2@newsman.csu.murdoch.edu.au>
anson@csuvax1.csu.murdoch.edu.au (Binh Anson) writes:
> I used Kermit 3.13 for my PC, my modem has a speed of 14.4 K, but I found
> that the downloading rate from the mainframe to my PC was still very slow!
> I tried Telix with SZ (Z-Modem Protocol), and it was very fast compared to
> Kermit. Is there a way to accelerate Kermit transfer ?
>
Yes.
But first, welcome to comp.protocols.kermit.misc. This is the first
day of operation of this unmoderated newsgroup. I hope it will prove
beneficial to all Kermit users.
To answer your question, somewhat longwindedly, since this Question is
Asked so Frequently :-) ...
Zmodem is optimized for speed on the assumption that it has a clear 8-bit
transparent channel with no blockages (small buffers, etc), and so, out of
the box, when it works it goes fast. The tradeoff is that it often does
not work at all, in which case you have to configure it in various ways --
escaping of control characters, changing window size, etc. In some cases
it can't be made to work at all, either because of the nature of the
connection, or because of one or both of the computers on the two ends.
Kermit, on the other hand, is configured to work -- i.e. transfer files --
out of the box, even under hostile conditions. By default, it does not
assume that control characters pass through transparently, nor that large
buffers are available. It does not even assume a full-duplex connection.
The tradeoff is speed.
In a perfect world, there would be no tradeoffs, but the world is far from
perfect. 7-bit transmission is still extremely common, small buffers are
very common, even in modern terminal servers and other communications
processors, flow control is rarely implemented correctly and effectively,
telephone lines are still noisy, and we still have a bewildering array
of communication methods needed for accessing different kinds of hosts and
services. Most PCs are still shipped with non-buffered UARTs; many PCs
have interrupt conflicts, noisy buses, etc; many modern modems are buggy.
The list goes on. This is by way of demonstrating that Kermit's default
tuning is not crazy, and goes a long way towards explaining its justified
reputation for dependability.
Unfortunately, because of the tradeoffs necessary to achieve its
reliability, Kermit has a reputation for slowness:
Yes, Kermit transfers are slow if you use the default tuning.
However, you can make Kermit go as fast the communication path will permit
by changing a few parameters. But first, here are some general principles
that apply to all communications software:
1. Ensure that you have an effective means of flow control enabled at
every juncture along the communication path (this applies to any file
transfer protocol). For example, when using high-speed,
error-correcting modems, you should use some form of hardware flow
control, most commonly RTS/CTS. You have to tell the software to use
it, AND you have to tell the modem to use it too -- if the flow
control methods of the PC and the modem do not agree, then data will
be lost.
2. If your modem is capable of data compression, use it. Fix the
interface speed of the software to four times the connection speed if
possible -- e.g. for a V.32bis 14400 bps connection, use an interface
speed of 57600, or else the modem's compression capacity is likely to
be wasted.
3. On network connections (e.g. TCP/IP), it is usually best to turn off
flow control entirely, because the underlying networking method
supplies fully effective flow control.
Now, to make Kermit go fast, follow these steps:
1. Use real Kermit software, not the many shareware and commercial
packages, most of whose Kermit protocol implementations lack the
performance features listed below and/or the means for the user to
control them.
2. Use long packets. Kermit's default packet length is 94. You can
increase it to a theoretical maximum of 9024. Give the following
command to the file receiver:
SET RECEIVE PACKET-LENGTH 2000 ; (or other length)
The longer you make the packets, the more efficient the file transfer
will be... IF IT WORKS. If you make packets longer than some buffer
somewhere along the line, and effective flow control is lacking, the
transfer might not work. Also, the longer the packet, the greater
the chance it will be hit by noise, and the longer it takes to
retransmit.
3. On full duplex connections, use sliding windows. Sliding windows
allow packets to be transmitted in a continuous stream, rather than
"stop and wait" style. The command is:
SET WINDOW 4 ; (or other number)
The maximum is 32 (or less, depending on the implementation). Give
this command to *both* Kermit programs.
For text files and uncompressed binary files, this should give you very
good performance -- efficiencies in the 85%-100% range. For compressed
files, and certain other types of binary files, you can squeeze out
another 20-25% efficiency by telling Kermit not to prefix a given list of
control characters. A typical sequence might be:
SET CONTROL UNPREFIX ALL ; Unprefix all control characters.
SET CONTROL PREFIX 0 1 13 129 141 ... ; Add back prefixes for these.
This requires a lot of trial and error because there is no way that a
communication software program can know what characters are safe and
which ones are not on a particular connection. For example, you might be
going through an X.25 PAD where Ctrl-P will pop you back to the PAD
prompt. Or you might be going through a TELNET terminal server where
Ctrl-] or Ctrl-^ will pop you back to the terminal server prompt. Or the
connection might be using Xon/Xoff flow control, and sending Ctrl-S as a
data character might freeze the connection.
If you take all of these steps, using optimal packet lengths, window
sizes, and unprefixing, you should achieve transfer rates comparable to,
and often better than, the Zmodem implementations that you find in Telix,
Procomm, and similar shareware and commercial packages; for example, on a
V.32bis/V.42/V.42bis connection, RTS/CTS flow control, no parity, 57600
bps interface speed:
Typical text files: 3500 cps (characters per second)
Uncompressed binary files: 2400 cps (e.g. PC KERMIT.EXE)
Compressed files: 1600 cps (e.g. ZIP files)
These figures come from Kermit News #5, June 1993, which is available via
anonymous ftp from kermit.columbia.edu, directory kermit/e, file
newsn5.txt (ASCII) or newsn5.ps (PostScript). Also see newsn4.txt (.ps)
for a detailed discussion of long packets and sliding windows.
Kermit software is available via anonymous ftp to kermit.columbia.edu
[128.59.39.2], directory kermit and its subdirectories. There are
literally hundreds of different Kermit programs for *almost* every machine
and operating system imaginable. The most widely used Kermit programs
are:
. MS-DOS Kermit 3.13 for DOS and Windows.
No, this is not a native Windows application, but yes, this
is the Kermit software we recommend for Windows.
File: kermit/archives/msvib.zip.
MS-DOS Kermit 3.14 Beta: kermit/test/bin/mstibm.zip.
Unzip with "-d" switch.
. C-Kermit 5A(190) for UNIX, VMS, OS/2, AOS/VS, the Commodore Amiga, etc.
UNIX: kermit/archives/cku190.tar.Z (or .gz)
VMS: Get kermit/f/ckvaaa.hlp, read it, take it from there.
OS/2: kermit/archives/cko190.zip.
Others: Get kermit/f/ckaaaa.hlp, read it, go from there.
. IBM Mainframe Kermit-370 for VM/CMS, MVS/TSO, CICS, and MUSIC.
kermit/b/ik*.*.
- Frank